package yaut;

import java.io.Serializable;

import scene.SceneEditeur;
import Exportation.Serialization;
import UML.DiagrammeClasses;

/**
 * Permet de sauvegarder un couple DiagrammeClasses et SceneEditeur
 * @author Delmas Gabriel
 */
public class SerialisationDiagrammeScene implements Serializable
{
	private static final long serialVersionUID = 1L;
	
	//Model d'un diagramme a sauvegarder
	private DiagrammeClasses diagramme;
	//Scene d'un diagramme a sauvegarder
	private SceneEditeur scene;
	
	/**
	 * Prend le model et la scene d'un diagramme
	 * @param diagramme le model d'un diagramme
	 * @param scene la representation graphique du diagramme
	 */
	public SerialisationDiagrammeScene(DiagrammeClasses	diagramme, SceneEditeur scene)
	{
		this.diagramme = diagramme;
		this.scene = scene;
	}
	
	/**
	 * Accesseur du model
	 * @return le model du diagramme sauvegarder
	 */
	public DiagrammeClasses getDiagramme(){return diagramme;}
	
	/**
	 * Accesseur de la scene
	 * @return la representation graphique du diagramme
	 */
	public SceneEditeur getScene(){return scene;}

	/**
	 * Permet de sauvegarder la classe
	 * @param fichier contenant le chemin du fichier a sauvegarder
	 */
	public void sauvegarder(String fichier)
	{
		Serialization.serialization(this, fichier);
	}

	/**
	 * Methode statique qui permet de charger un fichier
	 * @param fichier contenant le chemin du fichier a charger
	 * @return une instance de SerialisationDiagrammeScene
	 */
	public static SerialisationDiagrammeScene charger(String fichier)
	{
		return (SerialisationDiagrammeScene)Serialization.deserialization(fichier);
	}
}
